package Test1;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;

public class Test1 {
}
class MyCircularQueue {

    int []array;
    int last;
    int first;
    public MyCircularQueue(int k) {
        array=new int[k];
        int n=0;
        while (n<k) {
            array[n++]=-1;
        }
    }
    //尾插
    public boolean enQueue(int value) {
        //如果为不为0说明被占领
        if(isFull()) {
            return false;
        }
        array[last++]=value;
        //如果为数组长度则置为1
        last%=array.length;

        return true;
    }
//删除
    public boolean deQueue() {

        if(isEmpty()) {
            return false;
        }
        array[first++]=-1;
        first%=array.length;
        return true;
    }

    //从队首获取元素
    public int Front() {

        return array[first];
    }

    //获取队尾元素
    public int Rear() {

        return array[(last-1+array.length)%array.length];
    }

    public boolean isEmpty() {
        return array[first]==-1;
    }

    public boolean isFull() {
//判满r
        return array[last]!=-1;
    }

    public static void main(String[] args) {
        MyCircularQueue m=new MyCircularQueue(5);
        m.enQueue(1);
        m.enQueue(2);
        m.enQueue(3);
        m.enQueue(4);
        m.enQueue(5);
        System.out.println(m.enQueue(1));
    }
}